package com.thinkverse.recommendation.dto;

import com.thinkverse.common.dto.BaseDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotNull;

/**
 * 推荐请求DTO
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class RecommendationRequestDTO extends BaseDTO {
    
    /**
     * 用户ID
     */
    @NotNull(message = "用户ID不能为空")
    private Long userId;
    
    /**
     * 论文ID（用于相关推荐）
     */
    private Long paperId;
    
    /**
     * 研究方向
     */
    private String researchField;
    
    /**
     * 推荐数量
     */
    private Integer size = 10;
    
    /**
     * 推荐类型（PERSONALIZED：个性化，EXPERT：专家，RELATED：相关论文，TRENDING：热门）
     */
    private String type;
}
